package cn.dlust.tt.module.teacher.service.lessonplans;

import java.util.*;
import jakarta.validation.*;
import cn.dlust.tt.module.teacher.controller.admin.lessonplans.vo.*;
import cn.dlust.tt.module.teacher.dal.dataobject.lessonplans.LessonPlansDO;
import cn.dlust.tt.framework.common.pojo.PageResult;
import cn.dlust.tt.framework.common.pojo.PageParam;

/**
 * 教案 Service 接口
 *
 * @author 芋道源码
 */
public interface LessonPlansService {

    /**
     * 创建教案
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createLessonPlans(@Valid LessonPlansSaveReqVO createReqVO);

    /**
     * 更新教案
     *
     * @param updateReqVO 更新信息
     */
    void updateLessonPlans(@Valid LessonPlansSaveReqVO updateReqVO);

    /**
     * 删除教案
     *
     * @param id 编号
     */
    void deleteLessonPlans(Long id);

    /**
     * 获得教案
     *
     * @param id 编号
     * @return 教案
     */
    LessonPlansDO getLessonPlans(Long id);

    /**
     * 获得教案分页
     *
     * @param pageReqVO 分页查询
     * @return 教案分页
     */
    PageResult<LessonPlansDO> getLessonPlansPage(LessonPlansPageReqVO pageReqVO);

}